Negativ oder Positiv?
Eine Frage, die Thomas Binder aus Berlin nicht nur bezüglich seines Immunsystems beschäftigt hat, sondern auch bei der Ausgabe von Daten im ALV-Grid. Er ist dabei über eine böse Falle bei den Darstellungsmöglichkeiten des ALV-Grid gestolpert, die sich einerseits logisch erklären lässt, anderseits jedoch Fragen aufwirft, warum dieser Grund im ALV-Grid nicht einheitlich behandelt wird.
Darstellung von Zahlen
Thomas hatte einen stinknormalen ALV-Grid programmiert, in dem positive als auch negative Zahlen angezeigt wurden. Alles hat super funktioniert. Das Grid war sicherlich nicht so simpel wie in folgendem Beispiel, aber es illustriert gut, worum es geht:
Nach einiger Zeit hat er aus der Fachabteilung die Rückmeldung bekommen, dass die Zahlen nicht stimmen würden. Er testete das zur Verfügung gestellte Beispiel und konnte keinen Fehler feststellen. Die Fachabteilung hat ihm dann einen Ausdruck zur gegeben, auf dem folgendes zu sehen war:
Der Report wurde im Hintergrund ausgeführt und das dargestellte Grid dementsprechend als ALV-Liste ausgegeben. Wie eindeutig zu sehen ist, ist der Wert TWO, der im Grid negativ ist, in der Listausgabe auf einmal positiv.
Ursache
Die Ursache für den Fehler war einigermaßen schnell gefunden: Das verwendete Datenelement BWERT ist mit der Domäne WERT7 definiert. In der Domäne ist festgelegt, dass der Typ keine Vorzeichen hat:
Auch wenn die Ursache eindeutig ist und mit der Verwendung eines anderen Datenelementes das Problem gelöst werden konnte, ergibt sich nicht, warum der ALV-Grid die Werte unterschiedlich ausgibt.
Jedenfalls zeigt dieses Beispiel sehr gut, wie perfide der Fehlerteufel sich manchmal verstecken kann und erinnert ein wenig an den sehr sehenswert Vortrag Traue keinem Scan, den du nicht selbst gefälscht hast von David Kriesel.
Also: Bleibt gesund und seid vorsichtig!
- 7. December: Excel Racing Simulation – Root Vole Race - 7. Dezember 2024
- 5. December: ABAPConf - 5. Dezember 2024
- 4. December: Only a lazy developer is a good developer - 4. Dezember 2024